package cn.cloud9;

public class Case5ImmortalRabbit {

    /**
     * https://www.bilibili.com/video/BV18J411W7cE?p=92
     * 1、一对兔子，出生第三个月开始，每个月都生一对兔子
     * 2、出生的兔子重复[1]的操作
     * 3、设定兔子寿命为无限，则在第20个月的时候，兔子对数是多少
     * 即斐波那契数列
     * @param args
     */
    public static void main(String[] args) {

        // 限定月长
        int[] month = new int[20];

        // 初始计量
        month[0] = 1; // 第一个月对数1
        month[1] = 1; // 第二个月对数1
        // month[2] = 2; // 第三个月对数2 兔子生了1对

        /**
         * 从第三个月开始，就是累计进行？
         * month[2] = month[0] + month[1]
         * month[3] = month[1] + month[2]
         * month[4] = month[2] + month[3]
         */
        for (int i = 3 - 1; i < month.length; i++) {
            month[i] = month[i - 2] + month[i - 1];
            System.out.printf("第%d个月 %d对兔子\n", i + 1, month[i]);
        }
        
    }
}
